확률 밀도 함수의 독립

만약 두 확률 변수 $X$, $Y$의 결합 확률 밀도 함수(joint pdf)가 주변 확률 밀도 함수(marginal pdf)의 곱으로 나타나면 두 확률 변수가 서로 독립(independent)이라고 한다.

$$ f_{XY}(x, y) = f_X(x)f_Y(y) $$

이 함수 식에서 볼 수 있듯이 독립인 경우에는 각각의 주변 확률 밀도 함수만으로 결합 확률 밀도 함수가 결정된다. 즉, $Y$가 어떤 값을 가지더라도 $X$의 주변 확률 밀도 함수는 변하지 않는다.

독립 확률 변수의 기댓값

독립 확률 변수들의 기댓값은 다음 성질을 만족한다.

$$ \text{E}[XY] = \text{E}[X]\text{E}[Y] $$

(증명)

$$ \begin{eqnarray} \text{E}[XY] &=& \int xy \;f_{XY}(x, y) \; dx dy \\ &=& \int xy \;f_{X}(x)f_{Y}(y) \; dx dy \\ &=& \int x \;f_{X}(x) \; dx \int y \;f_{Y}(y) \; dy \\ &=& \text{E}[X] \text{E}[Y] \\ \end{eqnarray} $$

독립 확률 변수들의 분산

또한 독립 확률 변수들의 분산은 다음 성질을 만족한다.

$$ \text{Var}[X+Y] = \text{Var}[X] + \text{Var}[Y] $$

(증명)

$$ \begin{eqnarray} \text{Var}[X + Y] &=& \text{E}[((X + Y) - (\mu_X + \mu_Y))^2] \\ &=& \text{E}[(X+Y)^2 - 2(X+Y)(\mu_X + \mu_Y) + (\mu_X + \mu_Y)^2] \\ &=& \text{E}[X^2+2XY+Y^2] - 2(\mu_X + \mu_Y)\text{E}[X+Y] + (\mu_X + \mu_Y)^2 \\ &=& \text{E}[X^2+2XY+Y^2] - 2(\mu_X + \mu_Y)^2 + (\mu_X + \mu_Y)^2 \\ &=& \text{E}[X^2]+2\text{E}[XY]+\text{E}[Y^2] - (\mu_X + \mu_Y)^2 \\ &=& \text{E}[X^2]+2\text{E}[X]\text{E}[Y]+\text{E}[Y^2] - (\mu_X^2 + 2\mu_X\mu_Y + \mu_Y^2) \\ &=& \text{E}[X^2]-\mu_X^2+\text{E}[Y^2]-\mu_Y^2+2\text{E}[X]\text{E}[Y] - 2\mu_X\mu_Y \\ &=& \text{Var}[X]+\text{Var}[Y] \\ \end{eqnarray} $$

조건부 확률 분포

또한 조건부 확률 밀도 함수에는 다음과 같은 관계가 성립한다.

$$ f_{X \mid Y} (x | y_0) = \dfrac{f_{XY}(x, y=y_0)}{f_{Y}(y_0)} = \dfrac{f_{X}(x) f_{Y}(y_0)}{f_{Y}(y_0)} = f_{X}(x) $$$$ f_{Y \mid X} (y | x_0) = \dfrac{f_{XY}(x=x_0, y)}{f_{X}(x_0)} = \dfrac{f_{X}(x_0) f_{Y}(y)}{f_{X}(x_0)} = f_{Y}(y) $$

확률 변수 $X$가 다른 확률 변수 $Y$에 독립이면 조건부 확률 분포가 조건이 되는 확률 변수의 값에 영향을 받지 않는다. 즉, $Y$ 값이 $y_1$일 때와 $y_2$일 때의 조건부 확률 분포 $f(x \mid y_1)$과 $f(x \mid y_2)$이 같다는 의미이다.

예를 들어 다음과 같은 두 이산 확률 변수의 결합 확률 분포를 보자.


In [11]:
np.set_printoptions(precision=4)
pmf1 = np.array([[0, 1, 2, 3, 2, 1],
                 [0, 2, 4, 6, 4, 2],
                 [0, 4, 8,12, 8, 4],
                 [0, 2, 4, 6, 4, 2],
                 [0, 1, 2, 3, 2, 1]])
pmf1 = pmf1/pmf1.sum()
pmf1


Out[11]:
array([[ 0.    ,  0.0111,  0.0222,  0.0333,  0.0222,  0.0111],
       [ 0.    ,  0.0222,  0.0444,  0.0667,  0.0444,  0.0222],
       [ 0.    ,  0.0444,  0.0889,  0.1333,  0.0889,  0.0444],
       [ 0.    ,  0.0222,  0.0444,  0.0667,  0.0444,  0.0222],
       [ 0.    ,  0.0111,  0.0222,  0.0333,  0.0222,  0.0111]])

In [15]:
sns.heatmap(pmf1)
plt.xlabel("x")
plt.ylabel("y")
plt.title("Joint Probability (Independent)")
plt.show()


이 확률 분포는 다음 식에서 보다시피 주변 확률 분포의 곱으로 표현된다.


In [24]:
pmf1_marginal_x = pmf1.sum(axis=0)
pmf1_marginal_y = pmf1.sum(axis=1)
pmf = pmf1_marginal_x * pmf1_marginal_y[:, np.newaxis]
pmf/pmf.sum()


Out[24]:
array([[ 0.    ,  0.0111,  0.0222,  0.0333,  0.0222,  0.0111],
       [ 0.    ,  0.0222,  0.0444,  0.0667,  0.0444,  0.0222],
       [ 0.    ,  0.0444,  0.0889,  0.1333,  0.0889,  0.0444],
       [ 0.    ,  0.0222,  0.0444,  0.0667,  0.0444,  0.0222],
       [ 0.    ,  0.0111,  0.0222,  0.0333,  0.0222,  0.0111]])

여러 가지 Y값을 바꾸어도 조건부 확률은 변하지 않는 것을 확인할 수 있다.


In [25]:
cond_x_y0 = pmf1[0, :]/pmf1_marginal_y[0]
cond_x_y0


Out[25]:
array([ 0.    ,  0.1111,  0.2222,  0.3333,  0.2222,  0.1111])

In [26]:
cond_x_y1 = pmf1[1, :]/pmf1_marginal_y[1]
cond_x_y1


Out[26]:
array([ 0.    ,  0.1111,  0.2222,  0.3333,  0.2222,  0.1111])

In [27]:
cond_x_y2 = pmf1[2, :]/pmf1_marginal_y[2]
cond_x_y2


Out[27]:
array([ 0.    ,  0.1111,  0.2222,  0.3333,  0.2222,  0.1111])

이번에는 다음과 같은 결합 확률 분포를 보자. 이 경우에는 독립 조건이 성립하지 않는다.


In [21]:
pmf2 = np.array([[0, 0, 0, 0, 1, 1],
                 [0, 0, 1, 2, 1, 0],
                 [0, 1, 3, 3, 1, 0],
                 [0, 1, 2, 1, 0, 0],
                 [1, 1, 0, 0, 0, 0]])
pmf2 = pmf2/pmf2.sum()
pmf2


Out[21]:
array([[ 0.  ,  0.  ,  0.  ,  0.  ,  0.05,  0.05],
       [ 0.  ,  0.  ,  0.05,  0.1 ,  0.05,  0.  ],
       [ 0.  ,  0.05,  0.15,  0.15,  0.05,  0.  ],
       [ 0.  ,  0.05,  0.1 ,  0.05,  0.  ,  0.  ],
       [ 0.05,  0.05,  0.  ,  0.  ,  0.  ,  0.  ]])

In [23]:
sns.heatmap(pmf2)
plt.xlabel("x")
plt.ylabel("y")
plt.title("Joint Probability (Dependent)")
plt.show()


이 경우에는 y값에 따라 x의 조건부 확률 분포가 달라지는 것을 확인할 수 있다.


In [32]:
pmf2_marginal_x = pmf2.sum(axis=0)
pmf2_marginal_y = pmf2.sum(axis=1)

In [33]:
cond_x_y0 = pmf2[0, :]/pmf2_marginal_y[0]
cond_x_y0


Out[33]:
array([ 0. ,  0. ,  0. ,  0. ,  0.5,  0.5])

In [34]:
cond_x_y1 = pmf2[1, :]/pmf2_marginal_y[1]
cond_x_y1


Out[34]:
array([ 0.  ,  0.  ,  0.25,  0.5 ,  0.25,  0.  ])

In [35]:
cond_x_y2 = pmf2[2, :]/pmf2_marginal_y[2]
cond_x_y2


Out[35]:
array([ 0.   ,  0.125,  0.375,  0.375,  0.125,  0.   ])

두 확률 변수가 독립이 아닌 경우, 즉 결합 확률 분포(확률 밀도 함수 또는 확률 질량 함수)가 두 개의 주변 분포의 곱으로 나누어지지 않는 경우에는 두 확률 변수가 서로 의존(dependent)한다고 한다.

예를 들어 5명이 있는 어떤 반에서 한 명을 대표로 뽑아 시험을 보아야 한다고 하자.

위 확률 분포 $X$, $Y$에서 $Y$가 학생의 번호가 되고 $X \mid Y$는 반 대표가 된 학생의 시험 점수이다.

첫번째(독립) 경우에는 어떤 학생이 대표가 된다고 하더라도 시험 점수의 분포가 동일하지만 두번째(의존) 경우에는 0번 학생이 뽑인다면 4점, 혹은 5점을 받고 4번 학생이 뽑이면 0점 또는 1점을 받게 되므로 조건부 시험 점수 $X \mid Y$ 는 $Y$ 값에 의존한다고 말할 수 있다.